
import http from '@ohos.net.http';
import prompt from '@system.prompt';
import router from '@system.router';

export default {
/*data:Object/Function类型:页面的数据模型，类型是对象或者函数，如果类型是函数，返回值必须是对象。
     属性名不能以$或_开头，不要使用保留字for, if, show, tid。
     data与private和public不能重合使用。*/
    data: {
        lampSN:'',
        token: '',
        result:''
    },
/*props:Array/Object类型:props用于组件之间的通信，可以通过<tag xxxx='value'>方式传递给组件；
 props名称必须用小写，不能以$或_开头，不要使用保留字for, if, show, tid。
 目前props的数据类型不支持Function。*/
/*computed object类型 用于在读取或设置进行预先处理，计算属性的结果会被缓存。计算属性名不能以$或_开头，不要使用保留字。*/
/*props:['index','selected','icon_normal','icon_selected','title'],*//*无默认值情况，属性可以通过数组声明*/
    props: {
        index: {
            default: 0,
        },
        pSelected: {
            default: false
        },
        iconNormal: {
            default: ''
        },
        iconSelected: {
            default: ''
        },
        toke:{
            default:''
        },
        userId:{
            default:''
        },
        result:{
            default:''
        },
        role:{
            default:''
        },
        title: {
            default: '菜单0'
        },
    }, /*有默认值情况，属性只能通过对象声明*/

    onInit() {
        this.token = this.toke;

        if(this.index == 3){
            console.info("bottom-----token---"+ this.token);
            this.fetch();
        }
        this.$watch('pSelected', 'onSelectedChange');//给pSelected设置数据变化监听，$watch 监控数据改变
    },

    onSelectedChange(newV, oldV) {
        console.info('选中状态变化：' + oldV + '->' + newV);
    }, /*检测父组件传递值变化*/

//    连接获取用户设备号
    fetch(){
        let httpRequest = http.createHttp();
        // 用于订阅http响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
        httpRequest.on('headerReceive', (err, data) => {

        });
        httpRequest.request(
        // 填写http请求的url地址，可以带参数也可以不带参数。URL地址需要开发者自定义。GET请求的参数可以在extraData中指定
            "http://8.142.187.137:8888/device/getDevices",
            {
                method: 'POST', // 可选，默认为“GET”
                // 开发者根据自身业务需要添加header字段

                header: {
                    'Content-Type': 'application/json',
                    'token': this.token
                },
                // 当使用POST请求时此字段用于传递内容
                extraData: '',
                readTimeout: 60000, // 可选，默认为60000ms
                connectTimeout: 60000 // 可选，默认为60000ms
            },(err, data) => {
            if (!err) {
                // data.result为http响应内容，可根据业务需要进行解析
                var result = JSON.parse(data.result);
                console.info('Resultdevice:' + data.result);
                console.info("token---------"+ this.token)
                console.info('code:' + data.responseCode);
                // data.header为http响应头，可根据业务需要进行解析
                console.info('header:' + data.header);
                if(result["code"] == '200'){
                    console.info("boo-----code" + result.data[0].deviceSn);
                    this.lampSN = result.data[0].deviceSn;
                    this.$parent().lampText(this.lampSN);

                }else if(result["code"] == '400'){
                    prompt.showToast({
                        message: result.msg
                    })
                    this.$parent().changeDisable();
                    console.info("shibai---");
                }

            } else {

                console.info('error:' + err.data);
            }
        }
        );
    },

//获取用户所有好友
    getFriend(token,userId){
        let httpRequest = http.createHttp();
        // 用于订阅http响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
        httpRequest.on('headerReceive', (err, data) => {

        });
        httpRequest.request(
        // 填写http请求的url地址，可以带参数也可以不带参数。URL地址需要开发者自定义。GET请求的参数可以在extraData中指定
            "http://8.142.187.137:8888/user/getFriend",
            {
                method: 'POST', // 可选，默认为“GET”
                // 开发者根据自身业务需要添加header字段
                header: {
                    'Content-Type': 'application/json',
                    'token': token
                },
                // 当使用POST请求时此字段用于传递内容
                extraData: '',
                readTimeout: 60000, // 可选，默认为60000ms
                connectTimeout: 60000 // 可选，默认为60000ms
            },(err, data) => {
            if (!err) {
                // data.result为http响应内容，可根据业务需要进行解析
                var result = JSON.parse(data.result);
                console.info('Resultgetallfriend--:' + data.result);
                console.info('code:' + data.responseCode);
                // data.header为http响应头，可根据业务需要进行解析
                console.info('header:' + data.header);
                if(result["code"] == '200'){
                    console.info("getFriend-----" + result.data);
                    var result_one = result.data;
                    router.push({
                        uri: 'pages/chat/chat',
                        params: {
                            token: token,
                            result: result_one,
                            userId: userId
                        },
                    })

                }else if(result["code"] == '400'){
                    prompt.showToast({
                        message: result.msg
                    })
                    console.info("shibai---");
                }

            } else {
                console.info('error:' + err.data);
            }
        }
        );
    },







    childClicked() {
        //自定义事件
        this.$parent().onTabSelected(this.index);
        if(this.index == 2){
            this.getFriend(this.token,this.userId);
        } else if(this.index == 1) {
            if(this.role == '0'){
                router.push({
                    uri: 'pages/index/index',
                    params: {
                        result: this.result,
                    },
                })
            }else   if(this.role == '1'){
                router.push({
                    uri: 'pages/parent/parent',
                    params: {
                        result: this.result,
                    },
                })
            }else   if(this.role == '2'){
                router.push({
                    uri: 'pages/teacher/teacher',
                    params: {
                        result: this.result,
                    },
                })
            }
        }
//        this.$emit("onChildClick",{
//            position: this.index,
//        });
    }
}